#!/bin/bash

# 声明密码数组
passwords=("P@ssw0rd123@" "Gd!By@way#0828" "gdbyway@123" "123456")

# 创建输出文件
output_file="ipPwd.txt"
error_file="errorIp.txt"
> $output_file
> $error_file

while IFS= read -r ip
do
  ip_array+=("$ip")
done < servers.txt

# 执行指令
echo "正在执行："
for ip in "${ip_array[@]}"
do
  echo "------$ip-------"
  password_found=false
  # 循环尝试不同密码
  for password in "${passwords[@]}"; do
    echo "正在使用--$password--连接--$ip"
    # 使用ssh连接并检查退出状态码
    sshpass -p "$password" ssh -o StrictHostKeyChecking=no -o ConnectTimeout=4 "$ip" exit
    if [[ $? -eq 0 ]]; then
      # 连接成功，输出到ipPwd.txt文件
      echo "$ip $password" >> $output_file
      echo "$ip的密码是$password----******"
      password_found=true
      break
    fi
  done

  # 连接失败，输出到errorIp.txt文件
  if [[ $password_found == false ]]; then
    echo "$ip" >> $error_file
  fi
done
